๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๊ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๋ ํต์ฌ ๋ณด์ ๊ธฐ๋ฅ์ธ React์ experimental_taintObjectReference ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฌ์ธต ๋ถ์ํฉ๋๋ค. ์๋ ๋ฐฉ์, ์ํฅ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ฅํ ๋ณด์์ ์ํด ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
React์ experimental_taintObjectReference ์ ํจ์ฑ ๊ฒ์ฌ: ๊ฐ์ฒด ๋ณด์ ๊ฒ์ฆ ์ค๋ช
๋์์์ด ์งํํ๋ ์น ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ณด์์ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ด ๋์ฑ ๋ณต์กํด์ง๊ณ ๋ฐ์ดํฐ ์ค์ฌ์ผ๋ก ๋ณํจ์ ๋ฐ๋ผ React ์ ํ๋ฆฌ์ผ์ด์
๋ด ๊ฐ์ฒด์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์์ ์ฑ์ ๋ณด์ฅํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. React๋ ๊ฐ๋ฐ์์๊ฒ ๊ฐ๋ ฅํ๊ณ ์์ ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ค๋ ๋
ธ๋ ฅ์ ์ผํ์ผ๋ก ์ด๋ฌํ ์ฐ๋ ค๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์คํ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ์ค ํ๋๊ฐ ๋ฐ๋ก ๊ฐ์ฒด ๋ณด์์ ๊ฐํํ๊ณ ์ ์ฌ์ ์ธ ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๋๋ก ์ค๊ณ๋ experimental_taintObjectReference ์ ํจ์ฑ ๊ฒ์ฌ์
๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์๋ ์ด ๊ธฐ๋ฅ์ ๋ํด ๊น์ด ํ๊ณ ๋ค์ด ๊ทธ ๋ฉ์ปค๋์ฆ, ์ํฅ, ๊ทธ๋ฆฌ๊ณ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ React ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ค์ฉ์ ์ธ ์ ์ฉ ๋ฐฉ๋ฒ์ ํ๊ตฌํฉ๋๋ค.
๊ฐ์ฒด ๋ณด์์ ํ์์ฑ ์ดํดํ๊ธฐ
experimental_taintObjectReference์ ์ธ๋ถ ์ฌํญ์ ์ดํด๋ณด๊ธฐ ์ ์ ๊ฐ์ฒด ๋ณด์์ ๊ทผ๋ณธ์ ์ธ ํ์์ฑ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์ฒ๋ฆฌํ๊ณ ์ฌ์ฉ์ ์
๋ ฅ, API, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ๋ค์ํ ์์ค์ ์ํธ ์์ฉํฉ๋๋ค. ์ด๋ฌํ ์ง์์ ์ธ ์ ๋ณด ๊ตํ์ ์ ๋๋ก ๊ด๋ฆฌ๋์ง ์์ผ๋ฉด ์ ์ฌ์ ์ธ ์ทจ์ฝ์ ์ ์ผ๊ธฐํฉ๋๋ค. ์๊ฒฉํ ๋ณด์ ์กฐ์น๊ฐ ์๋ค๋ฉด ์
์์ ์ธ ํ์์๊ฐ ์ด๋ฌํ ์ทจ์ฝ์ ์ ์
์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฌด๊ฒฐ์ฑ์ ์์์ํค๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ํ์น๊ฑฐ๋ ์ฌ์ง์ด ์์์ ์ฝ๋๋ฅผ ์คํํ ์๋ ์์ต๋๋ค. ์ด๋ ๋ณด์ ์นจํด๋ก ์ธํด ์์น์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ํฅ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ์ ์ธ๊ณ์ ์ธ ๊ด์ฌ์ฌ์
๋๋ค.
๊ฐ์ฒด ๋ณด์์ด ํนํ ์ค์ํ ์ฃผ์ ์์ญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ: ๊ฐ์ฒด๊ฐ ์์ ์ํ๋ฅผ ์ ์งํ๊ณ ๋ณ์กฐ๋์ง ์์์์ ๋ณด์ฅํฉ๋๋ค.
- ์ธ์ ์ ๊ณต๊ฒฉ ๋ฐฉ์ง: ์ ์ฑ ์ฝ๋๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์ ์ฃผ์ ๋์ด ์คํ๋๋ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค.
- ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS) ์ํ: ๊ณต๊ฒฉ์๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋ณด๋ ์น ํ์ด์ง์ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ์์ ํ ๋ฐ์ดํฐ ์ ์ก: ์ ์ก ๋ฐ ์ ์ฅ ์ค ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํฉ๋๋ค.
๊ฐ์ฒด ๋ณด์์ ๋จ์ํ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ ์ธ๊ณ ์ฌ์ฉ์์์ ์ ๋ขฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฌธ์ ์
๋๋ค. ์์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ช
์ฑ์ ํด์น๊ณ ์ฌ์ฉ์ ์ ๋ขฐ๋ฅผ ์ฝํ์ํค๋ฉฐ ์ฌ๊ฐํ ๋ฒ์ , ์ฌ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ experimental_taintObjectReference์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ํฌํจํ์ฌ ๊ฐ๋ ฅํ ๊ฐ์ฒด ๋ณด์ ๊ดํ์ ๊ตฌํํ๋ ๊ฒ์ด ํ์์ ์
๋๋ค.
experimental_taintObjectReference๋ ๋ฌด์์ธ๊ฐ?
experimental_taintObjectReference๋ ๊ฐ์ฒด ์ฐธ์กฐ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํด ์ค๊ณ๋ React ๊ธฐ๋ฅ์
๋๋ค. ์ด๋ React ์ ํ๋ฆฌ์ผ์ด์
๋ด์์ ๊ฐ์ฒด์ ์ ๊ทผํ๊ณ ์์ ํ๋ ๋ฐฉ์์ ์ถ์ ํ๊ณ ์ ์ดํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ํต์ฌ์ ๊ฐ์ฒด์ ๋ํ ๋ฌด๋จ ์์ ์ด๋ ์ ๊ทผ์ ์๋ณํ๊ณ ๋ฐฉ์งํ์ฌ ์ ์ฌ์ ์ธ ๋ณด์ ์ํ์ ์ํํ๋ ๊ฒ์
๋๋ค. ์ด๋ ๋ฐ์ดํฐ ํ๋ฆ์ ์ถ์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ์์ค์ ์ํฅ์ ๋ฐ์์ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ์ฌ ์ ์ฌ์ ์ธ ๋ณด์ ์ทจ์ฝ์ ์ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ธ ์ค์ผ ๋ถ์(taint analysis)์ ํ์ฉํฉ๋๋ค. ์ด๋ ๋ค์ํ ์ฌ์ฉ์ ๊ธฐ๋ฐ๊ณผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ๊ฐ์ง ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์
์์ ํนํ ์ค์ํฉ๋๋ค.
๊ฐ์ฒด๋ฅผ ์ํ ๋ณด์ ์์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ์ด ์์์ ๋ชจ๋ ๊ฐ์ฒด ์ฐธ์กฐ์ ์์ ์ ์ ์คํ๊ฒ ๊ฒ์ฌํ์ฌ ์น์ธ๋๊ณ ์์ ํ์ง ํ์ธํฉ๋๋ค. ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ ํํ ์ฐพ์๋ด๊ณ ์ทจ์ฝ์ ์ด ์ ์ฉ๋๊ธฐ ์ ์ ๋ณดํธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. "์คํ์ (experimental)"์ด๋ผ๋ ๋ ์ด๋ธ์ ์ด ๊ธฐ๋ฅ์ด ํ๋ฐํ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ํฅํ React ๋ฆด๋ฆฌ์ค์์ ๋ณ๊ฒฝ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. ํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฐ์ฒด ๋ณด์์ ๊ธฐ๋ฅ์ ํ ์คํธํ๊ณ ์ดํดํ๋ ๋ฐ ์ ์ฉํ ๋๊ตฌ์ ๋๋ค.
experimental_taintObjectReference์ ์๋ ๋ฐฉ์
experimental_taintObjectReference์ ์ ํํ ๊ตฌํ ์ธ๋ถ ์ ๋ณด๋ React ๋ฒ์ ๋ฐ ํน์ ๊ตฌ์ฑ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ธ ์์
ํ๋ฆ์ ๋ค์ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค:
- ๊ฐ์ฒด ์์ฑ ๋ฐ ์ด๊ธฐํ: ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ React ๋ฐํ์์ ๋ด๋ถ์ ์ธ "์ค์ผ(taint)" ์ํ๋ฅผ ํ ๋นํ๋ฉฐ, ์ฒ์์๋ ์ ๋ขฐํ ์ ์์์ ๋ํ๋ ๋๋ค.
- ์ฐธ์กฐ ์ถ์ : React๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด์์ ๊ฐ์ฒด ์ฐธ์กฐ์ ํ๋ฆ์ ์ถ์ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ์ฒด๊ฐ props๋ก ์ ๋ฌ๋๊ณ , ์ปดํฌ๋ํธ ๋ด์์ ์ ๊ทผ๋๋ฉฐ, ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ํตํด ์์ ๋๋ ๋ฐฉ์์ด ํฌํจ๋ฉ๋๋ค.
- ์ค์ผ ์ ํ: ๊ฐ์ฒด๊ฐ ์ ๋ขฐํ ์ ์๋ ์์ค(์: ์ฌ์ฉ์ ์ ๋ ฅ, ์ธ๋ถ API ๋ฐ์ดํฐ)์ ์ํธ ์์ฉํ๋ฉด, ๊ทธ ์ค์ผ ์ํ๋ ์ ์ฌ์ ์ธ ์ทจ์ฝ์ฑ์ ๋ฐ์ํ๋๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ์ด "์ค์ผ"์ ์ด ๋ฐ์ดํฐ์์ ํ์๋๊ฑฐ๋ ์ํฅ์ ๋ฐ์ ๋ชจ๋ ๊ฐ์ฒด๋ก ์ ํ๋ฉ๋๋ค. ์ด๋ ๊ตญ์ ์ ์ธ ๋งฅ๋ฝ์์ ๋ฐ์ดํฐ ํ๋ฆ๊ณผ ๋ณด์ ์ํ์ ์ดํดํ๋ ๋ฐ ํต์ฌ์ ๋๋ค.
- ์ ํจ์ฑ ๊ฒ์ฌ: ๋ ๋๋ง์ด๋ ์ํ ์ ๋ฐ์ดํธ์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ์์ ์์ React๋ ๊ฐ์ฒด ์ฐธ์กฐ์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ์ด ๊ฒ์ฌ๋ ๊ฐ์ฒด์ ์ค์ผ ์ํ๋ฅผ ๊ฒ์ฌํ์ฌ ์ ์ฌ์ ์ผ๋ก ์์๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ณด์ ์กฐ์น: ์ค์ผ๋ ๊ฐ์ฒด๊ฐ ๋ณด์ ์ํ์ ์ด๋ํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผ๋๋ฉด React๋ ํน์ ์กฐ์น๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๊ฒฝ๊ณ ๋ก๊น , ์์ ๋ฐฉ์ง ๋๋ ์ ์ฌ์ ์ผ๋ก ์ค๋ฅ ๋ฐ์์ด ํฌํจ๋ฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์กฐ์น๋ ๊ธฐ๋ฅ์ด ๊ตฌ์ฑ๋ ๋ฐฉ์๊ณผ ์๋ฐ ์ํฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์์: ํผ์ ํตํด ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ๋ React ์ปดํฌ๋ํธ๊ฐ ์๋ค๊ณ ์์ํด ๋ณด์ญ์์ค. ์ฌ์ฉ์๊ฐ ์
์์ ์ธ ์
๋ ฅ์ ์ ๊ณตํ๋ฉด experimental_taintObjectReference ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ์
๋ ฅ์ ๋ํ๋ด๋ ๊ฐ์ฒด๋ฅผ ์ค์ผ๋ ๊ฒ์ผ๋ก ํ์ํ ์ ์์ต๋๋ค. ์ดํ ์ปดํฌ๋ํธ๊ฐ ์ด ์ค์ผ๋ ๊ฐ์ฒด๋ฅผ ๋์ SQL ์ฟผ๋ฆฌ ๊ตฌ์ฑ๊ณผ ๊ฐ์ ์ ์ฌ์ ์ผ๋ก ์ํํ ์์
์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด, ์ด ๊ธฐ๋ฅ์ด ์์
์ ๋ฐฉ์งํ์ฌ SQL ์ธ์ ์
๊ณต๊ฒฉ์ ๋ง์ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์
์์ ์ธ ์
๋ ฅ์ ์ํ์ด ํญ์ ์กด์ฌํ๋ ๋ค์ํ ์ง์ญ์ ์ฌ์ฉ์์ ๋ค์ํ ์์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์
์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
React ์ ํ๋ฆฌ์ผ์ด์
์ experimental_taintObjectReference ๊ตฌํํ๊ธฐ
experimental_taintObjectReference๋ ์คํ์ ๊ธฐ๋ฅ์ด๋ฏ๋ก ๊ตฌํ ๋ฐ ์ฌ์ฉ๋ฒ์ ๋ํ ์ธ๋ถ ์ฌํญ์ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ํ๋ ๋ฐ ๋์์ด ๋๋ ์ผ๋ฐ์ ์ธ ๋จ๊ณ์ ๊ณ ๋ ค ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- React ๋ฌธ์ ํ์ธ: ๊ณต์ React ๋ฌธ์ ๋ฐ ๊ด๋ จ ๋ฆด๋ฆฌ์ค ๋
ธํธ ๋๋ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ฐธ์กฐํ์ฌ
experimental_taintObjectReference์ ํ์ฌ ์ํ ๋ฐ ๊ตฌํ ์ธ๋ถ ์ ๋ณด๋ฅผ ํ์ธํ์ญ์์ค. ์ด๊ณณ์์ ๊ฐ์ฅ ์ต์ ์ด๊ณ ์ ํํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ธฐ๋ฅ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์ต์ ๋ณ๊ฒฝ ์ฌํญ์ ์์งํ์ญ์์ค. - ๊ธฐ๋ฅ ํ์ฑํ: React ์ ํ๋ฆฌ์ผ์ด์
์์
experimental_taintObjectReference๋ฅผ ํ์ฑํํ๊ธฐ ์ํด ์ค์ ํด์ผ ํ ํน์ ๊ตฌ์ฑ ์ต์ ์ด๋ ํ๋๊ทธ๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฌธ์์ ์ ๊ณต๋ ์ง์นจ์ ๋ฐ๋ผ ๊ธฐ๋ฅ์ ํ์ฑํํ์ญ์์ค. - ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ๋ฐ ์์ ์๋ณ: ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ์ํ๊ณ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ํนํ ์ค์ํ ์์ญ์ ์ ํํ ์ฐพ์๋ด์ญ์์ค. ์ฌ์ฉ์ ์ ๋ ฅ, ์ธ๋ถ ๋ฐ์ดํฐ ์์ค ๋๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๋ชจ๋ ์์ ์ ์ง์คํ์ญ์์ค. ์ ์ฌ์ ์ธ ์ทจ์ฝ์ ์์ค๋ฅผ ์๋ณํ์ญ์์ค.
- ์ ํจ์ฑ ๊ฒ์ฌ ๊ตฌํ: ์ฝ๋ ๋ด์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํฉํ์ญ์์ค. ์ฌ๊ธฐ์๋ ๊ธฐ๋ฅ์์ ์ ๊ณตํ๋ ๋ด์ฅ ํจ์๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ง์ ๊ฒ์ฌ๋ฅผ ์ ์ํ๋ ๊ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์ ์ฌ์ ์ผ๋ก ์ค์ผ๋ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ๋๋ ๊ณณ์ ๊ฒ์ฌ๊ฐ ๊ตฌํ๋์๋์ง ํ์ธํ์ญ์์ค.
- ๋ก๊น ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ ๊ตฌ์ฑ: ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ์คํจํ ๋ ๊ฒฝ๊ณ , ์ค๋ฅ ๋๋ ๊ธฐํ ์๋ฆผ์ ๊ธฐ๋กํ๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ์ญ์์ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
- ๋ณด์ ํ
์คํธ ์ํ: ์
์์ ์ธ ์
๋ ฅ์ ํฌํจํ ๋ค์ํ ์
๋ ฅ ๋ฐ์ดํฐ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์ฒ ์ ํ ํ
์คํธํ์ฌ
experimental_taintObjectReference๊ธฐ๋ฅ์ด ์์๋๋ก ์๋ํ๋์ง ํ์ธํ์ญ์์ค. ์ฌ๊ธฐ์๋ ์นจํฌ ํ ์คํธ ๋ฐ ๋ณด์ ๊ฐ์ฌ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. - ์ ๊ธฐ ์
๋ฐ์ดํธ: React ๋ฒ์ ์ ์ต์ ์ํ๋ก ์ ์งํ์ญ์์ค. ์คํ์ ๊ธฐ๋ฅ์ธ
experimental_taintObjectReference๋ ํฅํ ๋ฆด๋ฆฌ์ค์์ ๊ฐ์ ๋ฐ ๋ฒ๊ทธ ์์ ์ด ์ด๋ฃจ์ด์ง ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ต์ ์ํ๋ฅผ ์ ์งํ๋ฉด ์ต์ ๋ณด์ ๊ฐ์ ์ฌํญ์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
์์: ์ฌ์ฉ์๊ฐ ์ ์ถํ ๋๊ธ์ ํ์ํ๋ ์ปดํฌ๋ํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. experimental_taintObjectReference๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋๊ธ์ ํ์ํ๊ธฐ ์ ์ ์์ ํ์ง ํ์ธํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ๋๊ธ์ ์ ์ฌ์ ์ผ๋ก ์
์์ ์ธ ์ฝ๋๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ์ด ๊ธฐ๋ฅ์ ๋ ๋๋ง์ ๋ฐฉ์งํ์ฌ XSS ๊ณต๊ฒฉ์ ๋ง์ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ชจ๋ ์ฌ์ฉ์ ์์น์์ ์ฌ์ฉ์ ์์ฑ ์ฝํ
์ธ ๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๊ฐ์ฒด ๋ณด์ ๋ฐ experimental_taintObjectReference๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
experimental_taintObjectReference๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ค๋ฉด React ์ ํ๋ฆฌ์ผ์ด์
๋ด์์ ๊ฐ์ฒด ๋ณด์์ ๋ํ ์ ์ฒด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํด์ผ ํฉ๋๋ค. ๋ค์์ ๋ฐ๋ผ์ผ ํ ๋ช ๊ฐ์ง ๋ชจ๋ฒ ์ฌ๋ก์
๋๋ค:
- ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ: ์ธ์ ์ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํญ์ ์ฌ์ฉ์ ์ ๋ ฅ, API ์๋ต ๋ฐ ๊ธฐํ ๋ชจ๋ ์ธ๋ถ ๋ฐ์ดํฐ ์์ค๋ฅผ ๊ฒ์ฆํ๊ณ ์ด๊ท (sanitize)ํ์ญ์์ค. ์ฌ๊ธฐ์๋ ๋ฐ์ดํฐ ์ ํ, ๊ธธ์ด ๋ฐ ํ์ ํ์ธ์ด ํฌํจ๋ฉ๋๋ค. ์ ํจ์ฑ ๊ฒ์ฌ๋ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒซ ๋ฒ์งธ ๋ฐฉ์ด์ ์ ๋๋ค.
- ์ถ๋ ฅ ์ธ์ฝ๋ฉ: XSS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ์ญ์์ค. ์ฌ๊ธฐ์๋ ํน์ ๋ฌธ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ด์ค์ผ์ดํํ๊ณ ์ ์ ํ ์ธ์ฝ๋ฉ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
- ์ต์ ๊ถํ ์์น: ๋ณด์ ์นจํด๋ก ์ธํ ์ ์ฌ์ ํผํด๋ฅผ ์ ํํ๊ธฐ ์ํด ๊ฐ์ฒด์ ์ปดํฌ๋ํธ์ ์ต์ํ์ ํ์ํ ๊ถํ๋ง ๋ถ์ฌํ์ญ์์ค.
- ์์ ํ ์ข ์์ฑ: ์๋ ค์ง ๋ณด์ ์ทจ์ฝ์ ์ ํจ์นํ๊ธฐ ์ํด ์ข ์์ฑ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ญ์์ค. ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ทจ์ฝ์ ์ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ํํ ๊ณต๊ฒฉ ๊ฒฝ๋ก์ ๋๋ค.
- ์ ๊ธฐ์ ์ธ ๋ณด์ ๊ฐ์ฌ: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ทจ์ฝ์ ์ ์๋ณํ๊ณ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๊ธฐ์ ์ธ ๋ณด์ ๊ฐ์ฌ ๋ฐ ์นจํฌ ํ ์คํธ๋ฅผ ์ํํ์ญ์์ค. ์ด๋ฌํ ๊ฐ์ฌ๋ ์ ์ฌ์ ์ธ ์ฝ์ ์ ๋ํ ๊ท์คํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฌธ์ํ ๋ฐ ๊ต์ก: ๊ฐ์ฒด ๋ณด์ ๊ดํ์ ๋ฌธ์ํํ๊ณ ๊ฐ๋ฐํ์๊ฒ ์์ ํ ์ฝ๋ฉ ๊ดํ์ ๋ํด ๊ต์กํ์ญ์์ค. ๋ชจ๋ ์ฌ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์ ํ๋กํ ์ฝ์ ์ธ์งํ๋๋ก ํ์ญ์์ค.
- ๋ณด์ ํค๋ ๊ณ ๋ ค: ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฆฌ์์ค๋ฅผ ๋ก๋ํ๋ ๋ฐฉ์์ ์ ์ดํ๊ณ XSS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP)๊ณผ ๊ฐ์ ๋ณด์ ํค๋๋ฅผ ๊ตฌํํ์ญ์์ค.
- HTTPS ์ฌ์ฉ: ํนํ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ด ์๊ฒฉํ ๊ตญ๊ฐ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฌ์ฉ์ ๊ฐ์ ์์ ํ ํต์ ์ ์ํด ํญ์ HTTPS๋ฅผ ์ฌ์ฉํ์ญ์์ค.
๋ณด์์ ์ง์์ ์ธ ๊ณผ์ ์์ ๊ธฐ์ตํ์ญ์์ค. ์ ์ฌ์ ์ธ ์ทจ์ฝ์ ์ ๋ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ์์ ๋ฐ๋ผ ๋ณด์ ์กฐ์น๋ฅผ ์ ๋ฐ์ดํธํ์ญ์์ค. ์ธํฐ๋ท์ ๊ธ๋ก๋ฒ ํน์ฑ์ ์ํ์ด ๋์์์ด ์งํํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์์ ๋๊ฐ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์ด๋ฌํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ตฌํํจ์ผ๋ก์จ ๋ ๊ฐ๋ ฅํ๊ณ ์์ ํ React ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
experimental_taintObjectReference ์ฌ์ฉ์ ์ด์
experimental_taintObjectReference๋ฅผ ์ฑํํ๋ฉด ํนํ ๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ ๋ React ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ๋ช ๊ฐ์ง ์ฃผ์ ์ด์ ์ ๊ฐ์ ธ๋ค์ค๋๋ค. ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ณด์ ๊ฐํ: ๊ฐ์ฒด ๊ด๋ จ ์ทจ์ฝ์ ์ ๋ํ ์ ์ ์ ๋ฐฉ์ด๋ฅผ ์ ๊ณตํ์ฌ ๊ณต๊ฒฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์์ํค๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ํฅ์: ๋ฐ์ดํฐ๊ฐ ์์ ์ํ๋ฅผ ์ ์งํ๋๋ก ๋์ ๋ฌด๋จ ์์ ๋ฐ ๋ฐ์ดํฐ ์์์ ๋ฐฉ์งํฉ๋๋ค.
- ์กฐ๊ธฐ ์ทจ์ฝ์ ํ์ง: ๊ฐ๋ฐ ๊ณผ์ ์ด๊ธฐ์ ์ ์ฌ์ ์ธ ๋ณด์ ๋ฌธ์ ๋ฅผ ํ์ํ์ฌ ์ ์ฉ๋๊ธฐ ์ ์ ์ฝ๊ฒ ์์ ํ ์ ์๋๋ก ํฉ๋๋ค.
- ์ธ์ ์ ๊ณต๊ฒฉ ์ํ ๊ฐ์: ์ ํ๋ฆฌ์ผ์ด์ ๋ด ๋ฐ์ดํฐ ํ๋ฆ์ ๊ฒ์ฆํ๊ณ ์ ์ดํ์ฌ ์ธ์ ์ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๊ฐ๋ฐ์ ์ธ์ ์ ๊ณ : ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ๋ณด์์ ๋ํด ์๊ฐํ๋๋ก ์ฅ๋ คํฉ๋๋ค.
- ๋ณด์ ๊ท์ ์ค์: ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ GDPR, CCPA ๋ฐ ๋ค์ํ ์ง์ญ์์ ์ค์ํ ๊ธฐํ ๋ฐ์ดํฐ ๋ณด์ ๊ท์ ์ ๋ ์ ์ค์ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ ๋ขฐ ๊ตฌ์ถ: ๋ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์์์ ์ ๋ขฐ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, ์ด๋ ๊ฒฝ์์ด ์น์ดํ ๊ธ๋ก๋ฒ ์์ฅ์์ ํนํ ์ค์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๊ณ ๊ทธ ์์น์ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ํตํฉํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ๊ฐํํ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ์ ๋ขฐ์ ์ง์์ ์ธ ์ฑ์ฅ์ ์ํ ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฐ์ ๊ตฌ์ถํ๊ฒ ๋ฉ๋๋ค.
๊ณผ์ ๋ฐ ๊ณ ๋ ค ์ฌํญ
experimental_taintObjectReference๋ ์๋นํ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ๋ช
์ฌํด์ผ ํ ๊ณผ์ ์ ๊ณ ๋ ค ์ฌํญ๋ ์์ต๋๋ค. ์ด๋ฌํ ์ ์ ์ธ์งํ๋ฉด ์ฑ๊ณต์ ์ธ ์ฑํ์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค:
- ์ฑ๋ฅ ์ค๋ฒํค๋: ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋์ ํ๋ฉด ํนํ ๊ฒ์ฌ๊ฐ ์ต์ ํ๋์ง ์์ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์ ์ฌ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง์ ์ฑ๋ฅ ์ํฅ์ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ๊ณ ์ต์ ํํ์ญ์์ค.
- ๋ณต์ก์ฑ:
experimental_taintObjectReference๋ฐ ๊ด๋ จ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํ๊ณ ๊ตฌ์ฑํ๋ฉด ์ฝ๋๋ฒ ์ด์ค์ ๋ณต์ก์ฑ์ด ์ถ๊ฐ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ์ ๋ฌธ ์ง์๊ณผ ๋ฆฌ์์ค๋ฅผ ํ๋ณดํ์ญ์์ค. - ์คํ ๋ฐ ๋ฏธํ: ๊ตฌํ์ ๋ฐ๋ผ ์คํ(์์ ํ ์ฝ๋๋ฅผ ์ทจ์ฝํ ๊ฒ์ผ๋ก ํ์) ๋ฐ ๋ฏธํ(์ค์ ์ทจ์ฝ์ ์ ๋์นจ)์ ์ํ์ด ์์ต๋๋ค. ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น์ ์ ์คํ๊ฒ ๊ฒํ ํ๊ณ ํ ์คํธํ์ญ์์ค.
- ํ์ต ๊ณก์ : ๊ฐ๋ฐ์๋
experimental_taintObjectReference์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ์ด๋ฅผ ๊ฐ๋ฐ ์ํฌํ๋ก์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํฉ๋๋ค. ์ง์์ ์ธ ๊ต์ก๊ณผ ์ง์ ๊ณต์ ๊ฐ ํ์์ ์ ๋๋ค. - ํธํ์ฑ: ์คํ์ ๊ธฐ๋ฅ์ด๋ฏ๋ก ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค ๋ฐ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ ์ ํ ํ ์คํธํ์ญ์์ค.
- ์ง์์ ์ธ ์ ์ง๋ณด์: ์ต์ ์ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ง์ถฐ ๋ณด์ ์กฐ์น๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ์ ๊ธฐ์ ์ธ ์ ์ง๋ณด์ ๋ฐ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ ์คํ ๊ณํ, ์ค๊ณ, ํ ์คํธ ๋ฐ ์ง์์ ์ธ ์ ์ง๋ณด์๊ฐ ํ์ํฉ๋๋ค. ์งํํ๋ ๋ณด์ ์ํ์ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ๊ฒ ์ ์งํ๋ ๊ฒ์ ์ง์์ ์ธ ๋ ธ๋ ฅ์ ๋๋ค.
๋ฏธ๋ ๋ฐฉํฅ ๋ฐ ๋ฐ์
์คํ์ ๊ธฐ๋ฅ์ผ๋ก์ experimental_taintObjectReference์ React ๋ณด์์ ๋ ๋์ ํ๊ฒฝ์ ๊ณ์ ๋ฐ์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ๋ฏธ๋ ๋ฐฉํฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํฅ์๋ ํตํฉ: ์ด ๊ธฐ๋ฅ์ด React ์ํ๊ณ์ ๋ ๊ธด๋ฐํ๊ฒ ํตํฉ๋์ด ์ฌ์ฉ์ ๊ฐ์ํํ๊ณ ์ ์ฌ์ ์ธ ์ฑ๋ฅ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ๊ฐํ๋ ์ ํจ์ฑ ๊ฒ์ฌ ๊ธฐ๋ฅ: ์๋ก์ด ๋ณด์ ์ํ๊ณผ ์ทจ์ฝ์ ์ ๋์ํ๊ธฐ ์ํด ์๋ก์ด ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น๊ณผ ๋ฐฉ๋ฒ์ด ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
- ์๋ํ๋ ๋ถ์ ๋๊ตฌ: ๋ณด์ ์ทจ์ฝ์ ์ ์๋์ผ๋ก ํ์งํ๊ณ ํด๊ฒฐ ๋จ๊ณ๋ฅผ ๊ถ์ฅํ๋ ๋๊ตฌ๊ฐ ๊ฐ๋ฐ๋ ์ ์์ต๋๋ค.
- ํ์คํ๋ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก: React ์ปค๋ฎค๋ํฐ๋ ๊ฐ๋ฐ์๊ฐ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋๋ ๋ ํฌ๊ด์ ์ด๊ณ ํ์คํ๋ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
- ๊ตญ์ ํ ์ง์ ํ๋: ๊ธ๋ก๋ฒ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ๋ณด์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ๊ธฐ๋ฅ์ด ๊ตญ์ ํ ๋ฐ ํ์งํ๋ฅผ ์ง์ํ๋๋ก ์ต์ ํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ๋ ๊ฒ์ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ React ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ฏธ๋๋ ๋ณต์กํ๊ณ ์ํธ ์ฐ๊ฒฐ๋ ์ธ๊ณ์์ ๋ฒ์ฐฝํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ์ ๊ดํ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก : React๋ก ์์ ํ ๋ฏธ๋ ๊ตฌ์ถํ๊ธฐ
๊ฒฐ๋ก ์ ์ผ๋ก, experimental_taintObjectReference๋ React ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณด์์ ํฅ์์ํค๋ ๋ฐ ์ ์ฉํ ๋๊ตฌ์
๋๋ค. ๊ทธ ๊ธฐ๋ฅ์ ์ดํดํ๊ณ , ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํํ๋ฉฐ, ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ์ทจ์ฝ์ ์ผ๋ก๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณดํธํ๊ณ , ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ฉฐ, ์ ์ธ๊ณ ์ฌ์ฉ์์์ ์ ๋ขฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๊ฐ์ฒด ๋ณด์์ ์ผํ์ฑ ์์
์ด ์๋๋ผ ๊ฒฝ๊ณ, ์ง์์ ์ธ ํ์ต ๋ฐ ์์ ํ ์ฝ๋ฉ ๊ดํ์ ๋ํ ํ์ ์ด ํ์ํ ์ง์์ ์ธ ๊ณผ์ ์์ ๊ธฐ์ตํ์ญ์์ค. ์น ๊ฐ๋ฐ์ ์ธ๊ณ๋ ๋์์์ด ์งํํ๊ณ ์์ผ๋ฉฐ, ์ ๋ณด๋ฅผ ์ ์งํ๊ณ ์ ์ํ๋ ๊ฒ์ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ๋ฏธ๋๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์
๋๋ค. ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ์์ ํ๊ณ ํ๋ ฅ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ๋ฐ ๋ฐฐ์ฐ๊ณ ๊ธฐ์ฌํ ๊ธฐํ๋ฅผ ๋ฐ์๋ค์ด์ญ์์ค.
React ์ ํ๋ฆฌ์ผ์ด์
์ ๊ณ์ ๊ฐ๋ฐํ๋ฉด์ ๊ฐ๋ฐ ์๋ช
์ฃผ๊ธฐ์ ๋ชจ๋ ๋จ๊ณ์์ ๋ณด์์ ์ฐ์ ์ํ์ญ์์ค. experimental_taintObjectReference์ ์์น์ ํตํฉํ๊ณ ๋ณด์ ์ธ์ ๋ฌธํ๋ฅผ ์์ฉํจ์ผ๋ก์จ ์ฌ์ฉ์์ ๋น์ฆ๋์ค ๋ชจ๋์๊ฒ ์ด์ต์ด ๋๋ ๋ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๊ฒ ๋ ๊ฒ์
๋๋ค. ์์น์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๊ณ ๋ คํ๊ณ ๊ธ๋ก๋ฒ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก์ ์ต๊ณ ๊ธฐ์ค์ ๋ฐ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ์ญ์์ค.